草庐IT

Where 条件

全部标签

SQL有条件在Where子句中

嗨,我在其中的条款中有以下条件:and((datepart(mm,cs.scheduledate)所以什么时候@accumulate=1我想过滤datepart(mm,cs.scheduledate)如果我有@accumulate=0然后要过滤datepart(mm,cs.scheduledate)=@month我在做错事,因为它总是通过datepart(mm,cs.scheduledate)=@month有线索吗?看答案对我来说,您的要求还不清楚,但我有一些想法要尝试:and((datepart(mm,cs.scheduledate)或者and1=CASEWHENdatepart(mm,cs

mysql - 基于 JOIN ON 参数或 WHERE 参数限制 SQL 结果

我正在尝试确定在JOINON子句或WHERE子句本身的MySQL查询中使用选择参数是否有任何已知的好处。我确定并知道返回的结果是相同的,在本地测试时“查询时间”似乎几乎可以忽略不计,但想看看是否有任何专家意见。这两者在后端有区别吗?如果有,哪个更好?v1SELECT*FROMusersaJOINuser_photosbON(b.userid=a.userid)WHEREa.userid=12345ANDb.photo_type=1或v2SELECT*FROMusersaJOINuser_photosbON(b.userid=a.useridANDb.photo_type=1)WHERE

mysql - 有条件地确定设置字段的更新不起作用?

我在一个表上有一个插入后触发器,它根据新插入的行更新另一个表上的字段。(就是减去一个库位的库存数量,加到另一个库位,每一列是一个不同的库存库位)要更新的确切字段由选择语句确定。本质上UPDATEstockSETFIELD1=FIELD1+NEW.stquantity,FIELD2=FIELD2-NEW.stquantityWHEREFIELD1和FIELD2由case语句决定我现在的触发器看起来像这样:CREATETRIGGER`changestockqty`AFTERINSERTON`stocktransfer_items`FOREACHROWBEGINDECLAREfromstoc

c# - 在 LINQ WHERE 子句中有条件地允许 null

工作:我正在尝试在我的Contacts表和我的Permissions表之间执行LEFTOUTERJOIN。我有这个正常工作的基础,无论他们是否有相应的权限,都会得到一个联系人列表。//QueryforContactsfromcontactinContactsjoinpermissioninPermissionsoncontact.Idequalspermission.ObjectIdintopermissionGrpfrompinpermissionGrp.DefaultIfEmpty()wherep==null||(p!=null&&/*...conditionbasedonthee

mysql - CFWheels:在 WHERE 子句中使用 SQL 函数?

我在尝试在CfWheels的findAll()方法的where子句中使用SQL函数时遇到问题。这里令人困惑的是,在同一条语句的select子句中使用sql函数时,它的工作原理很神奇。我猜CFWheels可能只处理select子句中的列映射,而不处理where子句中的任何计算或操作语法。我需要在上面的where子句中使用一些sql函数。有什么想法吗? 最佳答案 您的假设是正确的,即CFWheels不允许where中的SQL函数争论。它解析属性名称的字符串,以便将它们映射到数据库中的列,并且它还应用绑定(bind)到传入的值。但它无法解

php - Codeigniter 结合 where_in 和 like 事件记录查询

我有以下事件记录查询:$this->db->select('id,email,first_name,last_name,current_location_state,current_location,avatar,avatar_fb');$this->db->from('users');$this->db->like('first_name',$search);$this->db->or_like('last_name',$search);$this->db->or_like("CONCAT(first_name,'',last_name)",$search);$this->db->o

mysql - 如何在 mySql 中的多个列上定义条件非空约束?

我的数据库中有一个表。该表包含多个列,例如A、B、C、D、E、F和G。我想以D、E或F中至少一个不应该为空的方式定义约束。这可能吗?我正在使用MySql。谢谢 最佳答案 不幸的是,MySQLdoesnotsupportCHECKconstraints.它解析它们然后默默地丢弃约束,就像它对MyISAM表上的外键约束所做的那样。它甚至没有就不受支持的约束类型向您发出警告,我认为这对他们来说是一个糟糕的设计决定。这是一个使用触发器的解决方案:mysql>DELIMITER//mysql>CREATETRIGGERcheck_one_no

mysql - 为什么在 "to_date"表达式中将 "where"应用于已经是 "date"类型的变量?

我觉得这个问题应该很容易回答,但由于某些原因,我到处搜索并空手而归,即使使用mysqldocs中的搜索功能也根本没有返回“to_date”功能!!!有人可以解释为什么在已经是“日期”变量的“bdate”上使用“to_date”吗?为什么要再次将其转换为日期?实际上对“to_date”的解释很受欢迎,因为搜索文档没有产生任何有用的东西?在一些讲座幻灯片中,教授举了一个例子:mysql>createtablestudent(SIDDECIMAL(7)primarykeynotnull,SNAMEVARCHAR(20),MAJORCHAR(4),YEARDEC(1),BDATEDATE);然

php - 使用带有一系列 id 的 where 语句

在我的表中,有一列包含一组用户ID。它的名字是users_id。每个id用逗号分隔(,)。例如:users_id='1,2,3,4,5';如果我将$id=1传递给我的函数,我该如何使用where语句?function($id){$sql="select*fromcontent_notiwhere??????"} 最佳答案 您可以在数据库中的字段值中添加前导和尾随,。例如改变1,2,3,4,5到,1,2,3,4,5,这样每个Id都有前导和尾随逗号,现在,更新函数体:function($id){$sql="select*fromcont

php - 当 left join 返回 null 时,'where' 条件失败

当leftjoin失败时,由于vlu.status=1查询不会返回任何内容。即使左连接失败,我也想要结果。如果我删除vlu.status=1然后它返回正确的结果,但我必须使用vlu.status=1当左连接没有失败时。selectvb.first_name,vb.last_name,DATE_FORMAT(vb.created_date,'%m-%d-%Y')asCreated_On,concat(la.first_name,'',la.last_name)asLoan_Agent,vl.loan_number,count(vs.id)asNum_Deliveriesfromvid_b